/*
 * @Author: kaikaima
 * @Date: 2021-03-01 09:47:57
 * @LastEditTime: 2021-03-01 09:48:15
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: /undefined/home/messi/Data_Structure_and_Algorithm_GIT/PAT/Basic_level/1009.cpp
 */
/*给定一句英语，要求你编写程序，将句中所有单词的顺序颠倒输出。
  输入格式：
  测试输入包含一个测试用例，在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成，其中单词是由英文字母（大小写有区分）组成的字符串，单词之间用 1 个空格分开，输入保证句子末尾没有多余的空格。
  输出格式：
  每个测试用例的输出占一行，输出倒序后的句子。*/
#include<iostream>
#include<string>

int main (int argc, char* argv[]){
    std::string arr; std::getline(std::cin,arr);
    while(1){
        int n=arr.find_last_of(" ");
        if(n<0) break;
        std::cout<<arr.substr(n+1,arr.length())<<" ";
        arr.replace(n,arr.length()-n,"");
    }
    std::cout<<arr<<std::endl;
    return 0;
}